<?php
/**
 Esta p�gina ser� utilizada para realizar as opera��es de cadastro, altera��o e remo��o de um fornecedor no banco de dados.
 A diferencia��o destas opera��es ser� feita pelo par�metro operacao que ser� informado via GET.
 C�digo 1: Cadastro
 C�digo 2: Altera��o
 C�digo 3: Remo��o
 Exibe ao fim o resultado das opera��es para o usu�rio.
 */

if(!isset($_SESSION))
{
	session_start();
}

if( !function_exists('__autoload') )
{
	function __autoload($class_name) {
		require_once $class_name . '.php';
	}
}

if( isset( $_SESSION['servidorPerfil'] ) == false ) // valida��o para verificar se o usu�rio que tentou acessar a p�gina est� logado
{
	$_SESSION['mensagem'] = "Para acessar esta p�gina voc� precisa estar logado.";
	header("Location: index.php");
}

if( isset( $_SESSION['servidorPerfil'] )) // valida��o para verificar se o usu�rio que tentou acessar a p�gina possui privil�gios para isso
{
	if( $_SESSION['servidorPerfil'] != 0 and $_SESSION['servidorPerfil'] != 4 )
	{
		$_SESSION['mensagem'] = "Voc� n�o tem permiss�o para acessar a p�gina requerida.";
		header("Location: Erro.php");
	}
}


if( isset( $_GET['operacao'] ) )
{
	
	/** Cadastra um objeto fornecedor no banco de dados.
	 * @POST['hiddenTotal'] - Quantidade de categorias/serviços atendidos pelo fornecedor
	 * @POST['cnpjcpfFornecedor'] - CNPJ/CPF do fornecedor
	 * @POST['nomeFornecedor'] - Nome do fornecedor
	 * @POST['telefoneFornecedor'] - Telefone do fornecedor
	 * @POST['telefoneComerical'] - Telefone do fornecedor
	 * @POST['faxFornecedor'] - Fax do fornecedor
	 * @POST['celularFornecedor'] - Celular do fornecedor
	 * @POST['estadoFornecedor'] - Estado do fornecedor
	 * @POST['cidadeFornecedor'] - Cidade do fornecedor
	 * @POST['emailFornecedor'] - E-mail do fornecedor
	 * @POST['siteFornecedor'] - Site do fornecedor
	 * @POST['razaoSocialFornecedor'] - Razão social do fornecedor 
	 */
	if( $_GET['operacao'] == 1 )
	{
		$numTotalOpcoes = $_POST['hiddenTotal'];

		for ($i=$numTotalOpcoes; $i>0; $i--)
		{
			$opcoes[] = $_POST['hiddenId'.$i];
		}

		$cnpjcpf = $_POST['cnpjcpfFornecedor'];
		$nome = $_POST['nomeFornecedor'];
		$telefone = $_POST['telefoneFornecedor'];
		$telefoneComercial = $_POST['telefoneComercial'];
		$fax = $_POST['faxFornecedor'];
		$celular = $_POST['celularFornecedor'];
		$estado = $_POST['estadoFornecedor'];
		$cidade = $_POST['cidadeFornecedor'];
		$email = $_POST['emailFornecedor'];
		$site = $_POST['siteFornecedor'];
		$razaoSocial = $_POST['razaoSocialFornecedor'];

		$fornecedor = new Fornecedor( NULL, $cnpjcpf, $nome, $telefone,$telefoneComercial ,$fax , $celular, $estado, $cidade, $email, $site, $razaoSocial, $opcoes );
		$resultadoSql = $fornecedor->CadastrarFornecedor(); # faz uma inser��o do fornecedor no banco de dados

		if( $resultadoSql ) # caso a opera��o de inser��o no banco seja efetuada com sucesso entra aqui
		{
			$titleHtml = "SAEO - Fornecedor cadastrado com sucesso";
			$cabecalhoHtml = "FORNECEDOR CADASTRADO COM SUCESSO";
			$informacaoHtml = "Sucesso no cadastro do fornecedor.";
		}
		else # tratar falhas na inser��o aqu
		{
			$titleHtml = "SAEO - Problema no cadastro do fornecedor";
			$cabecalhoHtml = "FALHA NO CADASTRAMENTO DO FORNECEDOR";
			$informacaoHtml = "Problema no cadastro do fornecedor: ".mysql_error()."
             <br>Por favor tente mais tarde!";
		}
	}
	
	/** Altera um objeto fornecedor no banco de dados.
	 * @POST['tipoInformacao'] - Tipo (material/serviço) atendido pelo fornecedor
	 * @POST['hiddenFornecedorId'] - Identificador único do fornecedor no banco de dados
	 * @POST['fornecedorEspecificacoes'] - Array de especificações (categorias/serviços atendidos) do Fornecedor
	 * @POST['cnpjcpfFornecedor'] - CNPJ/CPF do fornecedor
	 * @POST['nomeFornecedor'] - Nome do fornecedor
	 * @POST['telefoneFornecedor'] - Telefone do fornecedor
	 * @POST['telefoneComerical'] - Telefone do fornecedor
	 * @POST['faxFornecedor'] - Fax do fornecedor 
	 * @POST['celularFornecedor'] - Celular do fornecedor
	 * @POST['estadoFornecedor'] - Estado do fornecedor
	 * @POST['cidadeFornecedor'] - Cidade do fornecedor
	 * @POST['emailFornecedor'] - E-mail do fornecedor
	 * @POST['siteFornecedor'] - Site do fornecedor
	 * @POST['razaoSocialFornecedor'] - Razão social do fornecedor 
	 */
	else if ( $_GET['operacao'] == 2 )
	{
		$fornecedorId = $_POST['hiddenFornecedorId'];
		$array = $_POST['fornecedorEspecificacoes'];

		$especificacoes = unserialize(urldecode($array));

		$cnpjcpf = $_POST['cnpjcpfFornecedor'];
		$nome = $_POST['nomeFornecedor'];
		$telefone = $_POST['telefoneFornecedor'];
		$telefoneComercial = $_POST['telefoneComercial'];
		$fax = $_POST['faxFornecedor'];		
		$celular = $_POST['celularFornecedor'];
		$estado = $_POST['estadoFornecedor'];
		$cidade = $_POST['cidadeFornecedor'];
		$email = $_POST['emailFornecedor'];
		$site = $_POST['siteFornecedor'];
		$razaoSocial = $_POST['razaoSocialFornecedor'];

		$fornecedor = new Fornecedor( $fornecedorId, $cnpjcpf, $nome, $telefone,$telefoneComercial ,$fax , $celular, $estado, $cidade, $email, $site, $razaoSocial, $especificacoes );
		$resultadoSql = $fornecedor->AlterarFornecedor(); # faz uma inser��o do fornecedor no banco de dados

		if( $resultadoSql ) # caso a opera��o de atualiza��o no banco seja efetuada com sucesso entra aqui
		{
			$titleHtml = "SAEO - Fornecedor alterado com sucesso";
			$cabecalhoHtml = "FORNECEDOR ALTERADO COM SUCESSO";
			$informacaoHtml = "Sucesso na altera&ccedil;&atilde;o do fornecedor.";
		}
		else # tratar falhas na inser��o aqu
		{
			$titleHtml = "SAEO - Problema na altera&ccedil;&atilde;o do fornecedor";
			$cabecalhoHtml = "FALHA NA ALTERA&Ccedil;&Atilde;O DO FORNECEDOR";
			$informacaoHtml = "Problema na atualiza&ccedil;&atilde;o do fornecedor: ".mysql_error()."
             <br>Por favor tente mais tarde!";
		}
	}
	
	/** Remove um objeto fornecedor no banco de dados.
	 * @POST['fornecedor'] - Identificador único do fornecedor no banco de dados
	 * @POST['fornecedor_tipo'] - Tipo (material/serviço) atendido pelo fornecedor
	 */
	else if ( $_GET['operacao'] == 3 )
	{
		$fornecedorId = $_POST['fornecedor'];
		$fornecedor = new Fornecedor();
		$resultadoSql = $fornecedor->RemoverFornecedor( $fornecedorId );
		 
		if( $resultadoSql ) # caso a opera��o de atualiza��o no banco seja efetuada com sucesso entra aqui
		{
			$titleHtml = "SAEO - Fornecedor removido com sucesso";
			$cabecalhoHtml = "FORNECEDOR REMOVIDO COM SUCESSO";
			$informacaoHtml = "Sucesso na remo&ccedil;&atilde;o do fornecedor.";
		}
		else # tratar falhas na inser��o aqu
		{
			$titleHtml = "SAEO - Problema na remo&ccedil;&atilde;o do fornecedor";
			$cabecalhoHtml = "FALHA NA REMO&Ccedil;&Atilde;O DO FORNECEDOR";
			$informacaoHtml = "Problema na remo&ccedil;&atilde;o do fornecedor: ".mysql_error()."
             <br>Por favor tente mais tarde!";
		}
	}else if( $_GET['operacao'] == 4 ) //cadastro auxiliar na tela de empenho
	{
		$numTotalOpcoes = $_POST['hiddenTotal'];

		for ($i=$numTotalOpcoes; $i>0; $i--)
		{
			$opcoes[] = $_POST['hiddenId'.$i];
		}

		$cnpjcpf = $_POST['cnpjcpfFornecedor'];
		$nome = $_POST['nomeFornecedor'];
		$telefone = $_POST['telefoneFornecedor'];
		$telefoneComercial = $_POST['telefoneComercial'];
		$fax = $_POST['faxFornecedor'];
		$celular = $_POST['celularFornecedor'];
		$estado = $_POST['estadoFornecedor'];
		$cidade = $_POST['cidadeFornecedor'];
		$email = $_POST['emailFornecedor'];
		$site = $_POST['siteFornecedor'];
		$razaoSocial = $_POST['razaoSocialFornecedor'];

		$fornecedor = new Fornecedor( NULL, $cnpjcpf, $nome, $telefone,$telefoneComercial ,$fax , $celular, $estado, $cidade, $email, $site, $razaoSocial, $opcoes );
		$resultadoSql = $fornecedor->CadastrarFornecedor(); # faz uma inser��o do fornecedor no banco de dados

		if( $resultadoSql ) # caso a opera��o de inser��o no banco seja efetuada com sucesso entra aqui
		{
			$titleHtml = "SAEO - Fornecedor cadastrado com sucesso";
			$cabecalhoHtml = "FORNECEDOR CADASTRADO COM SUCESSO";
			$informacaoHtml = "Sucesso no cadastro do fornecedor.";
		}
		else # tratar falhas na inser��o aqu
		{
			$titleHtml = "SAEO - Problema no cadastro do fornecedor";
			$cabecalhoHtml = "FALHA NO CADASTRAMENTO DO FORNECEDOR";
			$informacaoHtml = "Problema no cadastro do fornecedor: ".mysql_error()."
             <br>Por favor tente mais tarde!";
		}
	}
	
}

?>

<html>
           <head>
           <title><?php echo $titleHtml ?></title>
           <link rel='stylesheet' type='text/css' href='templates/estilos.css'>
           </head>
     <body class='body'>
     <table width='779' border='0' cellspacing='0' cellpadding='0' align='center' bgcolor='#FFFFFF'>
             <tr>
                	<td colspan='2'><?php include "Topo.php"; ?></td>
            </tr>
            <tr>
                <td><div class='titulosTabelas' style='width:779; height:20; background:url(templates/tabela.jpg)'><?php echo $cabecalhoHtml ?> </div></td>
            </tr>
            <tr>
                <td colspan='2'>&nbsp;</td>
            </tr>
            <tr>
                <td><table class='tabela' width='495' border='0' cellspacing='0' cellpadding='0' align='center' bgcolor='#FFFFFF'>
                           <tr>
                               <td>&nbsp;</td>
                           </tr>
                           <tr>
                               <td class='textoTabelas' align='center'><?php echo $informacaoHtml ?></td>
                           </tr>
                           <tr>
                               <td>&nbsp;</td>
                           </tr>
                     </table>
                </td>
            </tr>
            <tr>
                <td>&nbsp;</td>
            </tr>
            <tfoot>
           <tr>
                <td colspan='2'>&nbsp;</td>
            </tr>
                   <tr>
                   		<?php include 'rodapeCreditos.php'; ?>
                   </tr>
            </tfoot>
     </table>
     </form>
     </body>
     </html>